#ifndef __HASHTABLESORTEDVECTOR_H
#define __HASHTABLESORTEDVECTOR_H

#include "dataStructure.h"
#include "hashTable.h"
#include "sortedVectorByF.h"
#include "node.h"
#include <iostream>
#include <vector>


class hashTableSortedVector : public dataStructure<Node**>
{
	private:
		hashTable* hashT;
		sortedVectorByF* sortedVector;
		
	public:
		hashTableSortedVector();
		void addNode(Node* node);
		bool empty();
		void remove(Node** item);
		void allocate(int width, int height);
		void freeNodes();
		Node* selectNodeLowestScore();
		std::pair<Node**, Node*> findNode(int x, int y);
		void modifyNode(Node** item);
};

#endif